// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
const db = cloud.database()

// 云函数入口函数
exports.main = async (event, context) => {
  const { plantName } = event
  
  if (!plantName) {
    return {
      success: false,
      message: '缺少植物名称参数'
    }
  }
  
  try {
    // 精确匹配
    let diseaseInfo = await db.collection('plant_diseases')
      .where({
        plant_name: plantName
      })
      .limit(1)
      .get()
    
    // 如果没有精确匹配，尝试模糊匹配
    if (diseaseInfo.data.length === 0) {
      // 使用正则表达式进行模糊匹配
      diseaseInfo = await db.collection('plant_diseases')
        .where({
          plant_name: db.RegExp({
            regexp: '.*' + plantName + '.*',
            options: 'i',
          })
        })
        .limit(1)
        .get()
    }
    
    if (diseaseInfo.data.length > 0) {
      return {
        success: true,
        result: diseaseInfo.data[0]
      }
    } else {
      // 返回默认信息
      return {
        success: true,
        result: {
          treatment: `暂无${plantName}的病害防治信息，建议咨询专业农技人员。`
        }
      }
    }
  } catch (err) {
    return {
      success: false,
      message: err.message,
      error: err
    }
  }
}
